package com.taxshare.purchaser.view.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName: ElectronicLedgerVO
 * @Description:
 * @author: luozhongyi
 * @date: 2021/4/14 16:05
 */
@Data
public class ElectronicLedgerVO {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private String invoiceId;
    /**
     * 发票类型
     */
    @ApiModelProperty("发票类型")
    private String invoiceType;

    @ApiModelProperty("发票类型名称")
    private String invoiceTypeName;
    /**
     * 发票代码
     */
    @ApiModelProperty("发票代码")
    private String invoiceCode;
    /**
     * 发票号码
     */
    @ApiModelProperty("发票号码")
    private String invoiceNo;
    /**
     * 开票日期
     */
    @ApiModelProperty("开票日期")
    private String invoiceData;
    /**
     * 购方名称
     */
    @ApiModelProperty("购方名称")
    private String purchaserName;
    /**
     * 购方税号
     */
    @ApiModelProperty("购方税号")
    private String purchaserTaxno;
    /**
     * 购方地址电话
     */
    @ApiModelProperty("购方地址电话")
    private String purchaserAddrPhone;
    /**
     * 购方银行账号
     */
    @ApiModelProperty("购方银行账号")
    private String purchaserBrank;
    /**
     * 销方名称
     */
    @ApiModelProperty("销方名称")
    private String sellerName;
    /**
     * 销方税号
     */
    @ApiModelProperty("销方税号")
    private String sellerTaxno;
    /**
     * 销方地址电话
     */
    @ApiModelProperty("销方地址电话")
    private String sellerAddrPhone;
    /**
     * 销方银行账号
     */
    @ApiModelProperty("销方银行账号")
    private String sellerBrank;
    /**
     * 金额
     */
    @ApiModelProperty("金额")
    private BigDecimal amoutWithTax;
    /**
     * 税额
     */
    @ApiModelProperty("税额")
    private BigDecimal taxAmout;
    /**
     * 有效税额
     */
    @ApiModelProperty("有效税额")
    private BigDecimal validTax;
    /**
     * 价税合计
     */
    @ApiModelProperty("价税合计")
    private BigDecimal totalAmout;
    /**
     * 认证状态 (0-未认证 ,1-已认证 ,2-认证失败 ,3-待认证)
     */
    @ApiModelProperty("认证状态")
    private String authState;

    @ApiModelProperty("认证状态名称 认证状态 (0-未认证 ,1-已认证 ,2-认证失败 ,3-待认证)")
    private String authStateName;
    /**
     * 认证结果
     */
    @ApiModelProperty("认证结果")
    private String authResult;
    @ApiModelProperty("认证结果名称")
    private String authResultName;
    /**
     * 认证日期
     */
    @ApiModelProperty("认证日期")
    private String authDate;
    /**
     * 认证属期
     */
    @ApiModelProperty("认证属期")
    private String authPeriod;
    /**
     * 认证模式(1-抵扣，2-退税)
     */
    @ApiModelProperty("认证模式")
    private String authMode;
    @ApiModelProperty("认证模式")
    private String authModeName;
    /**
     * 发票状态 (0-正常，1-作废，2-红冲，3-失控，4-异常)
     */
    @ApiModelProperty("发票状态")
    private String invoiceState;
    @ApiModelProperty("发票状态名称")
    private String invoiceStateName;
    /**
     * 管理状态 0-正常，1-非正常
     */
    @ApiModelProperty("管理状态")
    private String managementState;
    @ApiModelProperty("管理状态名称")
    private String managementStateName;
    /**
     * 异常类别 0-发票状态异常 1-用途变更 2-管理状态异常
     */
    @ApiModelProperty("异常类别")
    private String abnormalType;
    @ApiModelProperty("异常类别名称")
    private String abnormalTypeName;
    /**
     * 认证人员id
     */
    @ApiModelProperty("认证人员id")
    private String authUserid;
    @ApiModelProperty("认证人员名称")
    private String authUserName;
    /**
     * 认证操作时间
     */
    @ApiModelProperty("认证操作时间")
    private Date authTime;
    @ApiModelProperty("认证操作时间Str")
    private String authTimeStr;
    /**
     * 提交状态 0-未提交 1-已提交 2-驳回
     */
    @ApiModelProperty("提交状态")
    private String submitState;
    @ApiModelProperty("提交状态名称")
    private String submitStateName;
    /**
     * 提交类型 0-手动提交 1-Excel导入
     */
    @ApiModelProperty("提交类型")
    private String submitMode;
    @ApiModelProperty("提交类型名称")
    private String submitModeName;
    /**
     * 提交人员id
     */
    @ApiModelProperty("提交人员id")
    private String submitUserid;

    @ApiModelProperty("提交人员名称")
    private String submitUserName;

    /**
     * 提交操作时间
     */
    @ApiModelProperty("提交操作时间")
    private Date submitTime;

    @ApiModelProperty("提交操作时间Str")
    private String submitTimeStr;
}
